1. Field of the Invention
This invention relates to high performance computing network systems, and more particularly, to maintaining a global transactional memory across a cluster of multi-processor nodes.
2. Description of the Relevant Art
High performance computing is often obtained by using high-end servers. In other cases, clusters of multi-processor nodes may be coupled via a network to provide high performance computing. In some cases, a cluster of nodes may have a lower financial cost of a high-end server. However, the cluster of multi-processor nodes may lack the programmability of high-end server systems. Additionally, such clusters may not include a global, cache coherent shared address space. One method to increase the programmability of a cluster of multi-processor nodes is to implement a transactional memory across the cluster.
Generally speaking, a transaction may comprise a sequence of operations that perform read and/or write operations to memory. These read and write operations may logically occur at a single instant in time. Accordingly, the whole sequence of instructions may occur in an atomic manner, such that intermediate states are not visible to other transactions. Also, while a cluster of multi-processor nodes may not have shared memory, it may be desired to have a technique for making the non-shared memory behave like shared memory with a global, shared address space. One method of implementing transactional memory across a cluster of multi-processor nodes is by use of software techniques. However, software techniques involve significant overhead and thus, incorporate a performance penalty and scalability limits.
In view of the above, methods and mechanisms for managing clusters of processing nodes are desired.